<template>
  <!-- Excel 导入功能组件 -->
  <UploadExcel :on-success="handleSuccess" />
</template>

<script>
// 导入
import userRelations from '@/api/constant/userRelations.js'
import { formatExcelDate } from '@/utils/index'
// 导入接口
import { importEmployeeAPI } from '@/api/employees.js'
export default {
  name: 'Excel',
  methods: {
    // 导入成功以后的回调函数
    async handleSuccess({ results, header }) {
      // console.log(results)
      // 目标数组
      const newArr = []
      // 数据格式转换
      results.forEach(item => {
        // 取出对象所有中文键key
        const contentKeys = Object.keys(item)
        // 目标对象
        const newObj = {}
        // 遍历contentKeys从中英文对照对象中取出英文键
        contentKeys.forEach(key => {
          // 找到对应英文键
          const enKey = userRelations[key]
          // 时间日期处理
          if (enKey === 'timeOfEntry' || enKey === 'correctionTime') {
            // 把excel文件中的日期格式的内容转回成标准时间
            const time = formatExcelDate(item[key])
            newObj[enKey] = time
          } else {
            // 组装成目标对象
            newObj[enKey] = item[key]
          }
        })
        // 合成目标数组
        newArr.push(newObj)
      })
      // console.log(newArr)
      // 调用接口
      await importEmployeeAPI(newArr)
      // console.log(res)
      // 表格上传成功之后,跳转到员工页
      this.$router.push('/employees')
    }
  }
}
</script>
<style lang="scss" scoped></style>
